#include "CareTaker.h"
#include "MementoI.h"
#include "MementoII.h"

CCareTaker::CCareTaker()
: m_pMementoI(0), m_pMementoII(0)
{
	m_pMementoI = new CMementoI;
	m_pMementoII = new CMementoII;
}

CCareTaker::~CCareTaker()
{
	if ( m_pMementoI )
	{
		delete m_pMementoI;
		m_pMementoI = 0;
	}

	if ( m_pMementoII )
	{
		delete m_pMementoII;
		m_pMementoII = 0;
	}
}

bool CCareTaker::SetMementoI( const CMementoI* mementoI )
{
	if ( 0 == mementoI )
		return false;

//	m_pMementoI = mementoI;
	m_pMementoI->SetLife( mementoI->GetLife() );
	m_pMementoI->SetPower( mementoI->GetPower() );
	return true;
}

bool CCareTaker::SetMementoII( const CMementoII* mementoII )
{
	if ( 0 == mementoII )
		return false;

//	m_pMementoII = mementoII;
	m_pMementoII->SetSpecialLife( mementoII->GetSpecialLife() );
	m_pMementoII->SetSpecialPower( mementoII->GetSpecialPower() );
	return true;
}

CMementoI* CCareTaker::GetMementoI() const
{
	return m_pMementoI;
}

CMementoII* CCareTaker::GetMementoII() const
{
	return m_pMementoII;
}

